package com.kaili.finance.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.finance.pojo.entity.*;
import com.kaili.finance.pojo.dto.customerBill.FinCheckBillQueryDTO;
import com.kaili.finance.pojo.dto.driver.FinDriverCalcQueryDTO;
import com.kaili.finance.pojo.dto.siteCalc.FinSiteCalcQueryDTO;
import com.kaili.finance.pojo.dto.transfer.FinTransferCalcQueryDTO;
import com.kaili.finance.pojo.entity.FinCheckBillExport;
import com.kaili.finance.pojo.entity.FinDriverCalcExport;
import com.kaili.finance.pojo.entity.FinSiteCalcExport;
import com.kaili.finance.pojo.entity.FinTransferCalcExport;
import com.kaili.finance.pojo.vo.*;

import java.util.List;
import java.util.Map;

/**
 * Created by :zengshuai
 * Created time :18-5-22.
 * Company :杭州凯立通信有限公司
 */
public interface FinCheckBillService {

    //客户对账单分页查询
    Page<FinCheckBillVO> selectCheckBill(Page<FinCheckBillVO> page, FinCheckBillQueryDTO dto);

    //驾驶员结算条件分页查询
    Page<FinDriverCalcVO> queryDriverByKeywords(Page<FinDriverCalcVO> page, FinDriverCalcQueryDTO dto);

    //中转外包结算条件查询
    Page<FinTransferCalcVO> queryTransferByKeywords(Page<FinTransferCalcVO> page, FinTransferCalcQueryDTO dto);

    //站点间结算分页查询
    Page<FinSiteCalcVO> querySiteCalc(Page<FinSiteCalcVO> page, FinSiteCalcQueryDTO dto);

    //驾驶员结算
    int driverCalc(Map<String,Object> map);

    //中转外包结算
    int transferCalc(Map<String,Object> map);

    //站点间结算
    int siteCalc(Map<String,Object> map);

    List<FinDictVO> queryAllPayMent();

    int checkBillCalc(Map<String, Object> map);

    //驾驶员结算导出 add xinglei
    List<FinDriverCalcExport> queryDriverByKeywordsExport(Map search);
    //中转费结算外包导出 add xinglei
    List<FinTransferCalcExport> queryTransferByKeywordsExport(Map search);
    //客户对账单导出 add xinglei
    List<FinCheckBillExport> selectCheckBillExport(Map search);
    //站点间结算导出 add by zengshuai
    List<FinSiteCalcExport> querySiteByKeywordsExport(Map search);

}
